package utils

import (
	"errors"
	"reflect"
)

/**
* @Author : zhoujin
* @Date : 2020/6/8 7:05 下午
 */

//验证用户的请求数据

type Rules map[string][]string

/*
判断是否为空
*/
func NotEmpty() string  {
	return "notEmpty"
}

func isBlank(value reflect.Value) bool{

}


func Verify(st interface{},roleMap Rules) (err error){
	compareMap := map[string]bool{
		"lt": true,
		"le": true,
		"eq": true,
		"ne": true,
		"ge": true,
		"gt": true,
	}
	//获取interface 类型
	typ := reflect.TypeOf(st)
	//获取interface 值
	val := reflect.ValueOf(st)
	//类别获取
	kd := val.Kind()
	if kd != reflect.Struct {
		return errors.New("不是一个结构体")
	}
	//获取结构体的字段总数
	num := val.NumField()
	//开始遍历
	for i:=0; i<num; i++ {
		//得到结构体的每个字段的类型
		tagVal := typ.Field(i)
		//val := val.Field(i)
		//if len(roleMap(tagVal.Name)) > 0 {
		//	//得到struct type
		//	for _, v := range roleMap[tagVal.Name]  {
		//
		//	}
		//
		//}
		
	}
}
